Welcome to The Cult of the Grasshopper. I'm katydid, your cult leader, here with another sermon.
Today we'll be continuing our discussion of hobby game development, and some of the common obstacles we face when getting started. Last time, we laid out some issues that could be holding you back, and in this sermon we'll focus on things we can try to fix them.
To start, let's recap the problems we discussed. First, we may be trying to make something too complex. We may be lacking some foundational skills in programming or math. We may not have a clear plan of how to make our game. And lastly, we might be lacking some research and study skills.
But, I'll let you in on a secret, these are actually all one problem, or rather they are symptoms of with a shared root cause. We don't actually understand what games are, and how they work! And that makes perfect sense. Most of us start making games because we like playing them, and it doesn't take much know-how to play a game. Think about movies as another example of this. I've seen films before, but I really don't know the first thing about how they are made other than you... point a camera at something?
So, here's how I see it. The only thing computers can do is math. That may sound surprising if we haven't studied comptuers much, but pictures, music, programs, etc. these are all just numbers as far as the machine is concerned, and we've made devices like screens and speakers to translate those numbers into pictures we can see and sounds.
If that's the case then games are also just math. Basically to make a video game, we need to take our creative ideas, and turn them into math. And if, when I say that your mind is drawing a blank, on how we could do such a thing, that is the problem we need to work on, and the good news is, its super fixable, and the math isn't even hard.
Let me give a quick example of what I mean. Almost all video games involve a character being in a place. To do something as simple as having our character walk across a room, we need to be able to say where they are relative to the room, and how their position changes as they move. This is usually represented with a cartesean coordniate system, like we may have seen in math class, that lets us use numbers to say where the room is, and where the character is within it. When we want our person to move around, we use addition or subtraction to make those numbers bigger or smaller, based on which way they should travel.
It may sound really complicated when I describe it like that, but don't get scared. I'm using a lot of words to say something you would understand right away just by looking at it.
Anyway, in order to learn how to make games, we'll need to learn a new skill, which is to take an idea we have for our games and find some math that would let us represent that in our game code. That might sound intimidating but remember, the box does all the hhard work, we just have to tell it what to do. As long as we understand the concepts, we won't have to do hardly any number crunching ourselves.
So now that we understand more of what we're actually trying to do here, you might see how planning could be important. If every thing that our game can do, like having a character creator or riding a trusty steed is going to have some math attached to it, then making our games is going to look like understanding and solving a bunch of different math problems. We need to be able to break down our game concept into a series of problems to solve one after another. If you've ever had the feeling of 'oh my gosh, I'm so overwhelmed and I don't know what to do now' that's a sign that your trying to solve too many problems at once.
We can combat this feeling by trying to think about all of those seperate problems we'll need to solve, and making a list. Then, we can focus at one issue at a time, and once we've proven to ourselves that we understand each and every issue, then we'll basically just be able to stich together all of our solutions into a final game.
Here's an example of what I mean. Suppose we wanted to make a rythmn game, and we planned out all of the problems we would need to solve. We might say 'I definately need to have a menu where you can pick a song, but then I need to be able to change to the game screen'. So, right there that's at least three seperate problems. One, a menu for picking songs. How do we actually want that to look? How will the player actually pick the song they want to play? How will we show them all the options? etc. Two, a game screen were you actually play the rythmn game, and that's pretty complicated so we would need to break that down a lot further. But third, we need to know how to change from one screen to another. If we don't know how to do those things, then we need find out!
If we just dive into the deep end and try working on these features without really understanding what we are trying to accomplish we're going to spend a lot of time feeling confused and making very very slow progress. In the next video I'll go into detail on how we can make ourselves a plan to help us always know what we should be working on. Did that example sound like a lot of work? I hope so, because making games can be a lot of work! Planning like these will also have the benefit of helping us see exactly what we're getting into, and make realistic expectations of how long it will take.
Finally, in order to learn new types of math for us to use in our games, we need to be able to develop some research and study skills. I know I was never taught to study properly, and I think a lot of people feel that study is really stressful as a result. I want to try to teach you some study skills, like how to use search engines effectively, how to take good notes, stuff like that. I think you'll find once you know how to study, it will feel more like you're getting what you need to make progress toward your dream rather than something of something stressful and unplesant.
You miiight be noticing a theme here. All this stuff is the kind of thing that we ought to learn in public school, but many many people really just don't. I feel very strongly that the public school system where I'm from has failed a lot of students, and that seems to be a very common complaint. That's part of why I'm very motivated to try to offer some real teaching here, because people tell me I have a knack for it, and I really enjoy doing it. If I can help you learn something new or help you make something that is very exciting to me. More than that though, I would love to inspire you to enjoy learning. I've heard a lot of kids say stuff like 'I hate reading, I hate doing math, I hate learning', and that makes me so angry, because it means something was taken from you. Every person comes into this world curious, and we get beaten into submission, at least I know I was. It took me a long time to learn to actually enjoy studying for its own sake, and to be curious about the world, and if nothing else it brings me a lot of happiness. I am highly motivated to share that love of learning with others.
Okay, enough of that for now, I'll start ranting.
So, hopefully if you've been struggling to make games, it makes more sense now why its been so hard. Next up I'll go into more detail about how we start learning these skills, and give you a detailed tutorial on planning a game project.